package mx.com.fractal.ristorante.dto;

import java.util.Date;
import java.util.Set;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlElementWrapper;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;

import mx.com.fractal.ristorante.util.XmlDateTimeAdapter;

@XmlRootElement(name="reservacion")
@XmlAccessorType(XmlAccessType.NONE)
public class ReservacionDTO {
	
	@XmlAttribute(name="id-restaurante")
	private Short idRestaurante;
	
	@XmlAttribute(name="id-reservacion")
	private Integer idReservacion;
	
	@XmlAttribute(name="personas")
	private Short numPersonas;
	
	@XmlAttribute(name="fecha")
	@XmlJavaTypeAdapter(XmlDateTimeAdapter.class)
	private Date fechaReservacion;
	
	@XmlElement(name="min-bloqueo")
	private Short minutosBloqueo;
	
	@XmlElement(name="min-tolerancia")
	private Short minutosTolerancia;
	
	@XmlElement(name="cliente")
	private ClienteDTO clienteDTO;
	
	@XmlElement(name="mesa")
	@XmlElementWrapper(name="mesas")
	private Set<MesaDTO> mesas;
	
	public ClienteDTO getClienteDTO() {
		return clienteDTO;
	}
	public void setClienteDTO(ClienteDTO clienteDTO) {
		this.clienteDTO = clienteDTO;
	}
	public Short getIdRestaurante() {
		return idRestaurante;
	}
	public void setIdRestaurante(Short idRestaurante) {
		this.idRestaurante = idRestaurante;
	}
	public Set<MesaDTO> getMesas() {
		return mesas;
	}
	public void setMesas(Set<MesaDTO> mesas) {
		this.mesas = mesas;
	}
	public Integer getIdReservacion() {
		return idReservacion;
	}
	public void setIdReservacion(Integer idReservacion) {
		this.idReservacion = idReservacion;
	}
	public Short getNumPersonas() {
		return numPersonas;
	}
	public void setNumPersonas(Short numPersonas) {
		this.numPersonas = numPersonas;
	}
	public Date getFechaReservacion() {
		return fechaReservacion;
	}
	public void setFechaReservacion(Date fechaReservacion) {
		this.fechaReservacion = fechaReservacion;
	}
	public Short getMinutosBloqueo() {
		return minutosBloqueo;
	}
	public void setMinutosBloqueo(Short minutosBloqueo) {
		this.minutosBloqueo = minutosBloqueo;
	}
	public Short getMinutosTolerancia() {
		return minutosTolerancia;
	}
	public void setMinutosTolerancia(Short minutosTolerancia) {
		this.minutosTolerancia = minutosTolerancia;
	}
	
	
}
